This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

library(tidyverse)
Warning: package ‘tidyverse’ was built under R version 4.2.3Warning: package ‘ggplot2’ was built under R version 4.2.3Warning: package ‘tibble’ was built under R version 4.2.3Warning: package ‘tidyr’ was built under R version 4.2.3Warning: package ‘readr’ was built under R version 4.2.3Warning: package ‘purrr’ was built under R version 4.2.3Warning: package ‘dplyr’ was built under R version 4.2.3Warning: package ‘stringr’ was built under R version 4.2.3Warning: package ‘forcats’ was built under R version 4.2.3Warning: package ‘lubridate’ was built under R version 4.2.3── Attaching core tidyverse packages ────────────────────────────────────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.2     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ ggplot2   3.4.2     ✔ tibble    3.2.1
✔ lubridate 1.9.2     ✔ tidyr     1.3.0
✔ purrr     1.0.1     ── Conflicts ──────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(ggplot2)

capacity <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-05-03/capacity.csv')
Rows: 49 Columns: 7── Column specification ──────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (1): type
dbl (6): year, standalone_prior, hybrid_prior, standalone_new, hybrid_new, total_gw
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
g <- ggplot(data=capacity %>% filter(type == "Solar")) + geom_line(aes(x=year,y=total_gw))
print(g)

g <- ggplot(data=capacity %>% filter(type == "Solar")) + geom_line(aes(x=year,y=total_gw)) + geom_point(aes(x=year,y=total_gw))
print(g)

g <- ggplot() + 
  geom_line(data=capacity %>% filter(type=="Solar"),aes(x=year,y=total_gw), color="red") + 
  geom_line(data=capacity %>% filter(type=="Wind"),aes(x=year,y=total_gw), color="blue")
print(g)

g <- ggplot() %>% 
  geom_line(data=capacity %>% filter(type=="Solar"),aes(x=year,y=total_gw), color="red") %>%
  geom_line(data=capacity %>% filter(type=="Wind"),aes(x=year,y=total_gw), color="blue")
Error in `geom_line()`:
! `mapping` must be created by `aes()`
ℹ Did you use `%>%` or `|>` instead of `+`?
Backtrace:
 1. ... %>% ...
 4. ggplot2::geom_line(...)
g <- ggplot(data=capacity %>% filter(type %in% c("Solar","Wind","Storage"))) + geom_line(aes(x=year,y=total_gw,color=type))
print(g)

g <- ggplot(data=capacity) + geom_line(aes(x=year,y=total_gw,color=type))
print(g)

g <- ggplot() + 
  geom_line(data=capacity %>% filter(type == "Solar"), aes(x=year,y=total_gw,color=type)) +
  geom_line(data=capacity %>% filter(type == "Wind"), aes(x=year,y=total_gw,color=type)) +
  geom_line(data=capacity %>% filter(type == "Storage"),aes(x=year,y=total_gw,color=type)) 
print(g)

g <- 
  #Data
  ggplot(data=capacity %>% filter(type %in% c("Solar","Wind","Storage"))) + 
  
  # Graph and Aesthetics
  geom_line(aes(x=year,y=total_gw,color=type),size=1.5) +
  
  # Labels 
  ylab("Total Gigawatts") + # Y-axis label
  xlab("Year") + # X-axis label
  labs(color = "Energy Type") + # Legend label (if necessary)
  
  # Scales and limits
  scale_x_continuous(breaks = seq(2014,2020, by=1)) + # X axis 
  scale_y_continuous(limits = c(0,500)) + # Y axis
  
  # Theme
  theme_minimal()+
  theme(plot.title=element_text(size = 16, face = "bold"), #Title Font and Size
        axis.text=element_text(size=12), #Axis Label Font and Size
        axis.title=element_text(size=14,face="bold"))+ #Axis Title Font and Size
  
  # Title
  ggtitle("Growth of Renewable Energy Sources") 
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
Please use `linewidth` instead.
  
print(g)

ggsave("output/growth-little.png",width=1500,height=1500, units = "px")
library(plotly)
Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
Registered S3 method overwritten by 'htmlwidgets':
  method           from         
  print.htmlwidget tools:rstudio

Attaching package: ‘plotly’

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:stats’:

    filter

The following object is masked from ‘package:graphics’:

    layout
ggplotly(g)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiANCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkN0cmwrU2hpZnQrRW50ZXIqLiANCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZ2dwbG90MikNCg0KY2FwYWNpdHkgPC0gcmVhZHI6OnJlYWRfY3N2KCdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmZvcmRhdGFzY2llbmNlL3RpZHl0dWVzZGF5L21hc3Rlci9kYXRhLzIwMjIvMjAyMi0wNS0wMy9jYXBhY2l0eS5jc3YnKQ0KYGBgDQoNCmBgYHtyfQ0KZyA8LSBnZ3Bsb3QoZGF0YT1jYXBhY2l0eSAlPiUgZmlsdGVyKHR5cGUgPT0gIlNvbGFyIikpICsgZ2VvbV9saW5lKGFlcyh4PXllYXIseT10b3RhbF9ndykpDQpwcmludChnKQ0KYGBgDQoNCmBgYHtyfQ0KZyA8LSBnZ3Bsb3QoZGF0YT1jYXBhY2l0eSAlPiUgZmlsdGVyKHR5cGUgPT0gIlNvbGFyIikpICsgZ2VvbV9saW5lKGFlcyh4PXllYXIseT10b3RhbF9ndykpICsgZ2VvbV9wb2ludChhZXMoeD15ZWFyLHk9dG90YWxfZ3cpKQ0KcHJpbnQoZykNCmBgYA0KYGBge3J9DQpnIDwtIGdncGxvdCgpICsgDQogIGdlb21fbGluZShkYXRhPWNhcGFjaXR5ICU+JSBmaWx0ZXIodHlwZT09IlNvbGFyIiksYWVzKHg9eWVhcix5PXRvdGFsX2d3KSwgY29sb3I9InJlZCIpICsgDQogIGdlb21fbGluZShkYXRhPWNhcGFjaXR5ICU+JSBmaWx0ZXIodHlwZT09IldpbmQiKSxhZXMoeD15ZWFyLHk9dG90YWxfZ3cpLCBjb2xvcj0iYmx1ZSIpDQpwcmludChnKQ0KYGBgDQpgYGB7cn0NCg0KIyMgSnVzdCBhIHRlc3QNCmcgPC0gZ2dwbG90KCkgJT4lIA0KICBnZW9tX2xpbmUoZGF0YT1jYXBhY2l0eSAlPiUgZmlsdGVyKHR5cGU9PSJTb2xhciIpLGFlcyh4PXllYXIseT10b3RhbF9ndyksIGNvbG9yPSJyZWQiKSAlPiUNCiAgZ2VvbV9saW5lKGRhdGE9Y2FwYWNpdHkgJT4lIGZpbHRlcih0eXBlPT0iV2luZCIpLGFlcyh4PXllYXIseT10b3RhbF9ndyksIGNvbG9yPSJibHVlIikNCnByaW50KGcpDQpgYGANCg0KDQpgYGB7cn0NCmcgPC0gZ2dwbG90KGRhdGE9Y2FwYWNpdHkgJT4lIGZpbHRlcih0eXBlICVpbiUgYygiU29sYXIiLCJXaW5kIiwiU3RvcmFnZSIpKSkgKyBnZW9tX2xpbmUoYWVzKHg9eWVhcix5PXRvdGFsX2d3LGNvbG9yPXR5cGUpKQ0KcHJpbnQoZykNCmBgYA0KDQpgYGB7cn0NCmcgPC0gZ2dwbG90KGRhdGE9Y2FwYWNpdHkpICsgZ2VvbV9saW5lKGFlcyh4PXllYXIseT10b3RhbF9ndyxjb2xvcj10eXBlKSkNCnByaW50KGcpDQpgYGANCg0KYGBge3J9DQpnIDwtIGdncGxvdCgpICsgDQogIGdlb21fbGluZShkYXRhPWNhcGFjaXR5ICU+JSBmaWx0ZXIodHlwZSA9PSAiU29sYXIiKSwgYWVzKHg9eWVhcix5PXRvdGFsX2d3LGNvbG9yPXR5cGUpKSArDQogIGdlb21fbGluZShkYXRhPWNhcGFjaXR5ICU+JSBmaWx0ZXIodHlwZSA9PSAiV2luZCIpLCBhZXMoeD15ZWFyLHk9dG90YWxfZ3csY29sb3I9dHlwZSkpICsNCiAgZ2VvbV9saW5lKGRhdGE9Y2FwYWNpdHkgJT4lIGZpbHRlcih0eXBlID09ICJTdG9yYWdlIiksYWVzKHg9eWVhcix5PXRvdGFsX2d3LGNvbG9yPXR5cGUpKSANCnByaW50KGcpDQpgYGANCg0KYGBge3J9DQpnIDwtIA0KICAjRGF0YQ0KICBnZ3Bsb3QoZGF0YT1jYXBhY2l0eSAlPiUgZmlsdGVyKHR5cGUgJWluJSBjKCJTb2xhciIsIldpbmQiLCJTdG9yYWdlIikpKSArIA0KICANCiAgIyBHcmFwaCBhbmQgQWVzdGhldGljcw0KICBnZW9tX2xpbmUoYWVzKHg9eWVhcix5PXRvdGFsX2d3LGNvbG9yPXR5cGUpLHNpemU9MS41KSArDQogIA0KICAjIExhYmVscyANCiAgeWxhYigiVG90YWwgR2lnYXdhdHRzIikgKyAjIFktYXhpcyBsYWJlbA0KICB4bGFiKCJZZWFyIikgKyAjIFgtYXhpcyBsYWJlbA0KICBsYWJzKGNvbG9yID0gIkVuZXJneSBUeXBlIikgKyAjIExlZ2VuZCBsYWJlbCAoaWYgbmVjZXNzYXJ5KQ0KICANCiAgIyBTY2FsZXMgYW5kIGxpbWl0cw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDIwMTQsMjAyMCwgYnk9MSkpICsgIyBYIGF4aXMgDQogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsNTAwKSkgKyAjIFkgYXhpcw0KICANCiAgIyBUaGVtZQ0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KHNpemUgPSAxNiwgZmFjZSA9ICJib2xkIiksICNUaXRsZSBGb250IGFuZCBTaXplDQogICAgICAgIGF4aXMudGV4dD1lbGVtZW50X3RleHQoc2l6ZT0xMiksICNBeGlzIExhYmVsIEZvbnQgYW5kIFNpemUNCiAgICAgICAgYXhpcy50aXRsZT1lbGVtZW50X3RleHQoc2l6ZT0xNCxmYWNlPSJib2xkIikpKyAjQXhpcyBUaXRsZSBGb250IGFuZCBTaXplDQogIA0KICAjIFRpdGxlDQogIGdndGl0bGUoIkdyb3d0aCBvZiBSZW5ld2FibGUgRW5lcmd5IFNvdXJjZXMiKSANCiAgDQpwcmludChnKQ0KYGBgDQpgYGB7cn0NCmdnc2F2ZSgib3V0cHV0L2dyb3d0aC1saXR0bGUucG5nIix3aWR0aD0xNTAwLGhlaWdodD0xNTAwLCB1bml0cyA9ICJweCIpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHBsb3RseSkNCmdncGxvdGx5KGcpDQpgYGANCg0K